Loop Pipelining and Optimization for Run Time Reconnguration ?

نویسندگان

  • Kiran Bondalapati
  • Viktor K. Prasanna
چکیده

Lack of automatic mapping techniques is a signiicant hurdle in obtaining high performance for general purpose computing on recon-gurable hardware. In this paper, we develop techniques for mapping loop computations from applications onto high performance pipelined conng-urations. Loop statements with generalized directed acyclic graph dependencies are mapped onto multiple pipeline segments. Each pipeline segment is executed for a xed number of iterations before the hardware is reconngured at runtime to execute the next segment. The reconnguration cost is amortized over the multiple iterations of the execution of the loop statements. This alleviates the bottleneck of high reconnguration overheads in current architectures. The paper describes heuristic techniques to construct pipeline conngurations which have reduced total execution time including the runtime reconnguration overheads. The performance beneets which can be achieved using our approach are illustrated by mapping example application loop onto Virtex series FPGA from Xilinx.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Translation and Run - Time Validation of Optimized Code 1 , 2

The paper presents approaches to the validation of optimizing compilers. The emphasis is on aggressive and architecture-targeted optimizations which try to obtain the highest performance from modern architectures, in particular EPIC-like microprocessors. Rather than verify the compiler, the approach of translation validation performs a validation check after every run of the compiler, producing...

متن کامل

Enabling Loop Parallelization with Decoupled Software Pipelining in LLVM: Final Report

Software pipelining is an optimization technique used to speed up the execution of loops. A compiler performing the optimization reorders instructions within a loop in order to minimize latencies and avoid wasting instruction cycles. The optimization parallels the out-of-order execution paradigm used by microprocessors, except that instruction reordering is done at the software level, i.e. by t...

متن کامل

Enhanced Loop Flattening for Software Pipelining of Arbitrary Loop Nests

This paper introduces and evaluates enhanced loop flattening, a compiler framework for transforming an arbitrary set of nested and sequenced loops into a single loop with additional logic to implement the control flow of the original code. Loop flattening allows conventional software pipelining algorithms to effectively pipeline nested loops. Conventional software pipelining approaches are only...

متن کامل

Rrann: the Run-time Reconnguration Artiicial Neural Network

Run-time reconnguration is a way of more fully exploiting the exibility of reconngurable FPGAs. The Run-Time Reconnguration Artiicial Neural Network (RRANN) uses run-time reconnguration to increase the hardware density of FPGAs. This is done by dividing the backpropagation algorithm into three sequentially executed stages and connguring the FPGAs to execute only one stage at a time. The FPGAs a...

متن کامل

A Dynamic Modulo Scheduling with Binary Translation: Loop optimization with software compatibility

In the past years, many works have demonstrated the applicability of Coarse-Grained Reconfigurable Array (CGRA) accelerators to optimize loops by using software pipelining approaches. They are proven to be effective in reducing the total execution time of multimedia and signal processing applications. However, the run-time reconfigurability of CGRAs is hampered overheads introduced by the neede...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000